home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-04
/
422mods.zip
/
FILETAG2.422
< prev
next >
Wrap
Text File
|
1993-04-15
|
6KB
|
176 lines
Tried to fix all the prolems...
Commander Riker #1 @7751
3Saturday, April 10, 1993 1 6:50 am
It seems that I had a few errors in the previous release of this mod. I found a
few of them and have re-written them with more detail. I have installed it in
virgin code acording to the mod docs and have found no further problems. Sorry
for the errors that you people have encountered with this mod.
Part 1 of 3:
┌────────────────────────────────────────────────────────────────────────────┐
│ Mod Name: FILETAG2.422 Mod Authors: Commander Riker (1@7751 Ice) │
│ Difficulty: ███▒▒▒▒▒▒ Date: March 24, 1993 │
│ WWIV Version: 4.22 │
│ Files Affected: XFER.C, XINIT.C, VARDEC.H, COM.C, │
│ VARS.H, FCNS.H, BBSUTL.C, XFEROVL.C (optional) │
│ Description: This mod allows users to tag files for downloading │
└────────────────────────────────────────────────────────────────────────────┘
═══[ Disclaimer ]═══════════════════════════════════════════════════════
None needed, you installed this mod, not me!
═══[ Opening notes ]═══════════════════════════════════════════════════════
This is a re-write of the filetag.mod, version 2.2 by Blackbeard. Most of
the credit should go to him as he did an excelent job as far as he took it.
There was a small bug that would not allow the last screen of files available
for tagging. This problem has been solved.(I hope!!) Those of you that have
used Blackbeards file tag mod will notice a few nice extra's.
Enough talk, on with the show.
╒══════════════════════╕
│ Legend │ I would suggest doing as much block copying as
╞══════════════════════╡ possible. I may have forgotten to mark a few
│ + Add Line │ "{'s" or "}'s". This mod is taken right out
│ - Remove Line │ of my code here at Starfleet Command so I
│ @ Modify Line │ know it works.
│ = Existing line │
│ % Cut by Editor │
╘══════════════════════╛
═══[ Step 1 ]═══════════════════════════════════════════════════════
Back up your source!!!!
If you do not know how to do that, you do not need to even go any
further.
═══[ Step 2 ]═══════════════════════════════════════════════════════
Open up "VARDEC.H", and do these following steps.
= #define sysstatus_nscan_file_system 0x0080
= #define sysstatus_funky_colors 0x0100
= #define sysstatus_clr_scrn 0x0200
+ #define sysstatus_no_tag 0x1000 /* FT422 */
= /* slrec.ability */
= #define ability_post_anony 0x0001
= #define ability_email_anony 0x0002
Add this typedef any where you want (if those with low IQ's i will show you a
good spot).
+ /* Tag record Structure */
+ typedef struct {
+ int directory;
+ char filename[13];
+ } tag_rec;
= #define max_buf 1024
Then add this define right here:
= #define max_buf 1024
= #define MSG_COLOR 13
+ #define MAX_FILES 61 /* See note */
= #define MAX_BATCH 50
Note: This number represents the maximum screen length a user can have. This
is wwiv's standard size if you have changed this standard, then change this!
Close "VARDEC.H"
═══[ Step 3 ]═══════════════════════════════════════════════════════
Open "VARS.H" and add these variables.
=__EXTRN__ int abortext, already_on, ansiptr, arcling, async_irq, base,
= bchanged, change_color, charbufferpointer, chatcall,
= .
= .
= .
= .
= questused[20], restoring_shrink, save_dos, screenbottom,
= screenlen, screenlinest, smwcheck, statusfile,
= sysop_alert, tempio, topdata, topline, two_color,
= userfile, usernum, useron, use_workspace, using_modem,
@ wfc, x_only, file_ptr, in_tag;
++++++++ ++++++
then go down a little futher and add this last var:
=__EXTRN__ void far *funcs[25];
=__EXTRN__ char far *scrn;
=__EXTRN__ char far *point_shrink;
+__EXTRN__ tag_rec *file_index; /* FT422 */
=/* from version.c */
=extern char *wwiv_version;
Close "VARS.H"
═══[ Step 4 ]═══════════════════════════════════════════════════════
Open up "XINIT.C" and add the following:
= }
= batch=mallocx(MAX_BATCH * sizeof(batchrec), "batch list");
+ file_index=mallocx(MAX_FILES * sizeof(tag_rec),"filetag index");
= read_user(1,&thisuser);
Close "XINIT.C"
═══[ Step 5 ]═══════════════════════════════════════════════════════
Open up "COM.C", and do the following...
Find the void outchr:
== if ((sysstatus_pause_on_page & thisuser.sysstatus) &&
== (lines_listed >= screenlinest - 1)) {
++ if (in_tag)
++ tag_files();
++ else
== pausescr();
== lines_listed = 0;
@@ } else /*add the else to the brace */
++ if ((!(thisuser.sysstatus & sysstatus_no_tag)) && (in_tag) &&
++ (lines_listed >= screenlinest - 1)) {
++ tag_files();
++ lines_listed=0;
++ }
-- if (!x_only) /* \ */
-- pausescr(); /* \ delete these four lines */
-- lines_listed = 0; /* / or just comment them out */
-- } /* / */
== }
== } else
== out1ch('X');
== }
== if (chatcall)
== setbeep(0);
==}
Close up "COM.C".
═══[ Step 6 ]═══════════════════════════════════════════════════════
Open "BBSUTL.C" and modify checka()...
= void checka(int *abort, int *next)
= {
= char ch;
=
+ if (in_tag>=3)
+ *abort=1;
= while ((!empty()) && (!(*abort)) && (!hangup)) {
Close "BBSUTL.C"